<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>作业</title>
  </head>
  <body>
    <script>
      //1.封装一个函数实现字符串的翻转，比如 foo('哦泡')->泡哦
      /* function overTurn(str) {
        var newStr = '';
        for (var i = str.length - 1; i >= 0; i--) {
          newStr += str[i];
        }
        return newStr;
      }
      console.log(overTurn(prompt('请输入内容'))); */

      //2.字符串 digital = "0123456789"，把前 5 个字符分割出来，返回单个字符的数组，注意，返回数组里面的数字是字符串类型，string.split("")
      /* var digital = '0123456789';
      var newDigital = digital.slice(0, 5);
      var arr = newDigital.split('');
      console.log(arr); */

      //3.已知有字符串 foo="get-element-by-id"，写一个 function 将其转化成驼峰表示法"getElementById"
      /* var foo = 'get-element-by-id';
      function strChange(foo) {
        var arr = foo.split('-');
        var newStr = '';
        for (var i = 1; i < arr.length; i++) {
          arr[i] = arr[i].replace(arr[i][0], arr[i][0].toUpperCase());
        }
        for (var i = 0; i < arr.length; i++) {
          newStr += arr[i];
        }
        return newStr;
      }
      console.log(strChange(foo)); */

      //4.定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面的有"天"的下标输出(用 indexof())
      // var str = '今天是什么鬼天气，这么热，明天要去游泳！';
      // function indexPrint(str) {
      //   for (i = 0; i < str.length; i++) {
      //     var index = str.indexOf('天', i);
      //     if (index >= 0) {
      //       console.log(`天的下标为${index}`);
      //     }
      //   }
      // }
      // console.log(indexPrint(str));
      //定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面的有"天"替换成"日"(用 replace())
      /* var str = '今天是什么鬼天气，这么热，明天要去游泳！';
      function replaceStr(str) {
        for (i = 0; i < str.length; i++) {
          if (str[i] == '天') {
            str = str.replace('天', '日');
          }
        }
        return str;
      }
      console.log(replaceStr(str)); */

      //5. 查找字符串中(abbcccddddd)出现最多的字符和个数 出现最多的是d出现了5次
      // 方法一
      // var str = 'abbcccddddd';
      // var obj = {};
      // for (var i = 0; i < str.length; i++) {
      //   obj[str[i]] ? (obj[str[i]] += 1) : (obj[str[i]] = 1);
      // }
      // console.log(obj);
      // var maxCount = 0;
      // var maxCountStr = '';
      // for (var key in obj) {
      //   if (obj[key] > maxCount) {
      //     maxCount = obj[key];
      //     maxCountStr = key;
      //   }
      // }
      // console.log(`${key}出现得最多，出现了${maxCount}次`);

      // 方法二
      var str = 'abbcccddddd';
      var obj = str.split('').reduce(function (prev, item) {
        prev[item] = prev[item] + 1 || 1;
        return prev;
      }, {});
      console.log(obj);
      var maxCount = 0;
      var maxCountStr = '';
      for (var key in obj) {
        if (obj[key] > maxCount) {
          maxCount = obj[key];
          maxCountStr = key;
        }
      }
      console.log(`${key}出现得最多，出现了${maxCount}次`);
    </script>
  </body>
</html>
